home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 3 / BBS in a box - Trilogy III.iso / Files / Tele / Internet / NewsWatch Folder / headers / nntp.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-04-03  |  5.6 KB  |  203 lines  |  [TEXT/MPS ]

  1. #ifndef _NNTP_
  2. #define _NNTP_
  3.  
  4. #define NNTPNEWS
  5.  
  6. #define    kSleepTime            50        /* wait next event sleep time */
  7.  
  8. #define kNumMenus            8        /* number of menus */
  9.  
  10. #define kYes                1
  11. #define kNo                    3
  12. #define kCancel                2
  13.  
  14. #define kMenuOffset            128        /* resource id offset from internal id */
  15. #define kAppleMenu            0
  16. #define kFileMenu            1
  17. #define kEditMenu            2
  18. #define kSpecialMenu        3
  19. #define kNetMenu            4
  20. #define kFontMenu            5
  21. #define kSizeMenu            6
  22. #define kWindowsMenu        7
  23.  
  24. #define kHeaderMenu            200
  25.  
  26. #define kUndoItem            1
  27. #define kCutItem            3
  28. #define kCopyItem            4
  29. #define kPasteItem            5
  30. #define kClearItem            6
  31. #define kRotItem            8
  32. #define kSearchItem            10
  33. #define kNarrowItem            11
  34. #define kSelectAllItem        13
  35.  
  36. #define kNewItem            1
  37. #define kOpenItem            2
  38. #define kCloseItem            4
  39. #define kSaveItem            5
  40. #define kSaveAsItem            6
  41. #define kPageSetupItem        8
  42. #define kPrintItem            9
  43. #define kPrefItem            11
  44. #define kQuitItem            13
  45.  
  46. #define kMarkReadItem        1
  47. #define kMarkUnreadItem        2
  48. #define kReadItem            4
  49. #define kNextItem            5
  50. #define kViewRefItem        6
  51. #define kSendItem            8
  52. #define kFollowUpItem        9
  53. #define kRespondItem        10
  54. #define kPostItem            11
  55. #define kSubscribeItem        13
  56. #define kUnsubscribeItem    14
  57.  
  58. #define kSendToBack            1
  59. #define kZoomWindow            2
  60. #define kHideShowWind        4
  61. #define kFirstWindOffset    6
  62.  
  63. #define kGetNetItem            1
  64. #define kPutNetItem            2
  65. #define kSetNNTPItem        4
  66. #define kSetSMTPItem        5
  67.  
  68. #define kErrDlg                130
  69. #define    kAboutID            128        
  70. #define kNewsServerAddrID    132
  71. #define kMailServerAddrID    141
  72. #define kCheckSaveID        133
  73. #define kMainWindow            128
  74. #define kLoginDlg            129
  75. #define kPassDlg            131
  76. #define kAskSendAlert        134
  77. #define kPostAlert            135
  78. #define kPostDlg            136
  79. #define kRespDlg            137
  80. #define kPrefDlg            138
  81. #define kNarrowDlg            139
  82. #define kSearchDlg            140
  83.  
  84. #define kLDEFProc            128
  85.  
  86. #define kNNTPPort            119
  87. #define kSMTPPort            25
  88.  
  89. #define kListFontSize        12
  90. #define kTextFontSize        9
  91.  
  92. #define kNNTPAddress        0x5A01000A        /* default NNTP server is */
  93. #define kNNTPName            "\pNNTP"        /* NNTP.apple.com (goofy) */
  94. #define kNNTPNameLen        5
  95. #define kSMTPAddress        0x5A01000A        /* default SMTP server is */
  96. #define kSMTPName            "\pgoofy"        /* goofy.apple.com */
  97. #define kSMTPNameLen        6
  98. #define kBufLen                32768
  99. #define kMaxLength            31999
  100. #define kMaxSaveLength        256000
  101. #define kGNameLen            50
  102. #define kMaxGroupLen        80000
  103.  
  104. #define cGroup                0
  105. #define cNewGroup            1
  106. #define cUserGroup            2
  107. #define cSubject            3
  108. #define cMessage            4
  109. #define cMiscMessage        5
  110. #define cSendMessage        6
  111. #define cPostMessage        7
  112. #define cMoveModal            8
  113.  
  114. #define kTextMargin            4
  115. #define kOffLeft            5
  116. #define kOffTop                41
  117. #define kHeightWindow        300
  118.  
  119. #define kLifeBoatSize        40000L
  120.  
  121. #define kFCreator            'NNTP'
  122. #define kFType                'NEWS'
  123. #define kPrefType            'PREF'
  124. #define kTextCreator        'ttxt'
  125.  
  126. #define kPrefName            "\pNews Prefs"
  127. #define kShowText            "\pShow Group Window"
  128. #define kHideText            "\pHide Group Window"
  129.  
  130. typedef struct TReadRec TReadRec;
  131.  
  132. struct TReadRec {
  133.     long firstRead;            /* first unread message */
  134.     long lastRead;            /* last unread message */
  135.     TReadRec *next;            /* pointer to next link */
  136. };
  137.  
  138. typedef struct TGroup TGroup;
  139.  
  140. struct TGroup {
  141.     char name[kGNameLen];    /* name of group */
  142.     long firstMess;            /* # of first msg in group */
  143.     long lastMess;            /* # of last msg in group */
  144.     char status;            /* status of group (m=moderated) */
  145.     TReadRec *read;            /* read record for group */
  146.     struct TGroup *next;    /* only used when stored as a linked-list */
  147. };
  148.  
  149. typedef struct TWList {
  150.     WindowPtr childWindow;    /* pointer to child window */
  151.     struct TWList *next;    /* pointer to next entry in windowlist */
  152. } TWList;
  153.  
  154. typedef struct TwindowInfo {
  155.     short kind;                    /* type of window */
  156.     Handle data;                /* list/TE handle */
  157.     unsigned long data2;        /* other data */
  158.     ListHandle narrowList;        /* contains alternate list */
  159.     char filter[256];            /* narrowing filter text */
  160.     short filterLen;            /* narrowing filter text length */
  161.     short numGroups;            /* number of groups */
  162.     TGroup *parentGroup;        /* pointer to parent group */
  163.     long numSubjects;            /* number of subjects */
  164.     Str255 diskFile;            /* name of file on disk */
  165.     short diskVRefNum;            /* vRefNum of file on disk */
  166.     WindowPtr parentWindow;        /* pointer to parent window */
  167.     TWList *childList;            /* linked list of child windows */
  168.     Boolean changed;            /* changed flag- true if contents changed */
  169.     Boolean saved;                /* saved flag- true if contents saved */
  170. } TwindowInfo;
  171.  
  172. typedef struct TSubject {
  173.     char *name;                    /* subject text */
  174.     long number;                /* article number */
  175.     Boolean read;                /* true if article has been read */
  176. } TSubject;
  177.  
  178.  
  179. typedef struct TPrefRec {
  180.     Str255    newsServerName;        /* name of newsserver */
  181.     Str255    textFont;            /* name of textedit font */
  182.     short    textSize;            /* size of textedit font */
  183.     Str255    listFont;            /* name of list font */
  184.     short    listSize;            /* size of list font */
  185.     Rect    groupWindowSize;    /* size of main groups window */
  186.     Point    windowOffset;        /* offset of main groups window */
  187.     Point    statusWindowLocn;    /* origin of status window */
  188.     short    maxFetch;            /* max. number of articles to fetch */
  189.     Str255    name;                /* username */
  190.     Str255    host;                /* user's host */
  191.     Str255    fullName;            /* user's full name */
  192.     Str255    organization;        /* user's organization */
  193.     char    signature[4096];    /* user's signature (not currently used) */
  194.     Boolean    groupWindowVisible;    /* true if group window is visible */
  195.     Boolean    openWindowsZoomed;    /* true if windows open zoomed */
  196.     Boolean    parentWindows;        /* true if windows should be parented */
  197.     Boolean mostRecentFirst;    /* true if user wants most recent articles first */
  198.     Str255    mailServerName;        /* mail server name */
  199.     Str255    address;            /* user's e-mail address */
  200.     char    fill[1533];            /* for future expansion */
  201. } TPrefRec, *TPrefPtr;
  202.  
  203. #endif _NNTP_